Because of its advantages of convenience for use, high memory density, good reliability and others, flash memory has become the research focus of non-volatile memories. Since their debut in 1980s, accompanied with the development of technology and increasing needs of various electronic products for memory devices, flash memories have been widely used in mobile phones, laptop computers, personal digital assistants (PDA), USB flash disks and other portable communication devices. As a kind of non-volatile memory, a flash memory stores data by changing threshold voltages of the transistors or memory cells to control the gate electrode channels to be switched on or off, such that the data stored in the memory will not be lost due to power outage. Flash memory is a kind of electrically erasable programmable read-only memory (EEPROM) with a special structure. Currently, flash memories have taken a major market share of non-volatile semiconductor memories, and have become the fastest growing sector of the market.
Inside a flash memory programmed with hot carriers, a charge pump which generates a high voltage (6-10V) always occupies a large area since it needs to drive a large current loading. The more the data bits of a flash memory are to be programmed at one time, the stronger drive ability of the charge pump is needed, and the more area is needed. Generally speaking, the most common practice to reduce the size and cost of an embedded design is to use a communication bus with a smaller number of input/output pins. Therefore, the serial input/output method is adopted in most existing flash memories. FIG. 1 illustrates an existing flash memory using a serial input method, in which a data DIN<m:0> is written into a flash memory chip in a serial mode. Although the serial input/output method enables an obvious reduction of size and cost of the device, it will also result in a limited communication speed and therefore a low efficiency in data communication. Bit inversion technique is another way to reduce the size and cost by reducing the current loading of the charge pump. This method is to make the number of data bits to be programmed less than or equal to half of the total data bits. However, when this bit inversion technique is further adopted in the serial input/output method, the inversion control signals will account for a great proportion of the total amount of data bits, thus leading to a significant area consumption.
In conclusion, due to the adoption of the serial input/output method, flash memories of the prior art have encountered the problem of limited data communication speed which further leads to a low efficiency in data communication and significant area consumption. Thus, there is a need for improved techniques to solve this problem.